Навигация
Главная
Новости
Ресурсы
 Книги
 Справочники
 Статьи
Файловый архив
 Журналы
 Книги
 Справочники
 Просто софт
 Софт по электронике
Обратная связь
Карта сайта

СКБ КриптоНет


Книги

Уважаемый читатель!
Публикация данного документа не преследует за собой никакой коммерческой выгоды. Но такие документы способствуют профессиональному и духовному росту читателей и являются рекламой бумажных изданий таких документов. Все авторские права сохраняются за правообладателем.
За содержание книги ответственность несут ее авторы.

1.5. Роль программирования в проектировании цифровых устройств

Цифровое проектирование не обязательно требует каких-то программных средств. Например, на рис. 1.3 представлен простейший инструмент разработки цифровых схем «старой школы» — пластиковый трафарет для вычерчивания логических элементов на принципиальной схеме вручную [на нем паяльником выжжено имя владельца (WAKE - начальные буквы фамилии автора книги. Прим. перев.)].

Однако сегодня программные средства являются существенной составной частью цифрового проектирования. Действительно, в последние несколько лет доступность и практичность языков описания схем в сочетании со средствами моделирования схем и загрузки программируемых кристаллов полностью изменили сам характер цифрового проектирования. В этой книге мы будем повсюду широко использовать языки описания схем.

Различные программные средства, применяемые при автоматизированном проектировании (computer-aided design, CAD), повышают производительность труда разработчика и позволяют выполнить проект более правильно и улучшить его качество. В мире, где властвует дух конкуренции, когда поджимают сроки, без использования программных средств нельзя получить высококачественные результаты. Вот важные примеры программных средств для цифрового проектирования:

   Графический редактор схем. Это схемотехнический эквивалент текстового редактора. Он позволяет рисовать схемы на экране, а не карандашом на бумаге. Более совершенные графические редакторы проверяют также, нет лив схеме простых, легко обнаруживаемых ошибок, таких как короткое замыкание выходов, наличие никуда не поданных сигналов и т.д. Такие программы подробнее рассматриваются в разделе 11.1.2.

 

Рис. 1.3. Трафарет разработчика цифровых схем

 

       Языки описания схем. Первоначально эти языки предназначались для моделирования схем, но сегодня все в большей степени они применяются для проектирования аппаратуры. Эти языки можно использовать при разработке чего угодно: от отдельных функциональных модулей до больших цифровых систем на многих кристаллах. В конце главы 4 мы познакомимся с двумя языками описания схем: ABEL и VHDL, а в последующих главах будут приводиться примеры на обоих языках.

       Компиляторы языков описания схем, средства моделирования и синтеза. Типичный программный пакет языка описания схем состоит из нескольких компонентов. Находясь в такой среде, проектировщик пишет текстовую «программу», и компилятор языка анализирует ее на наличие синтаксических ошибок. Если процесс компиляции завершается успешно, то проектировщик получает результат для передачи его программе синтеза, которая создает соответствующую конфигурацию схемы на заданной элементной базе. Чаще всего перед синтезом проектировщик использует результат компиляции в качестве входных данных моделирующей программы, чтобы проконтролировать поведение разрабатываемого устройства.

       Моделирующие программы. Цикл проектирования заказной однокристальной цифровой интегральной микросхемы долог и дорог. Когда кристалл уже изготовлен, очень трудно, а часто невозможно устранить ошибки, проверяя внутренние соединения (размеры которых, действительно, очень малы), или произвести изменения в логических схемах и соединениях между ними. Как правило, изменения необходимо внести в исходные данные проекта, и для реализации требуемых изменений должен быть изготовлен новый кристалл. Поскольку на выполнение этой процедуры могут уйти месяцы, у разработчиков кристаллов есть стимул сразу (или почти сразу) «получить то, что надо» с первой же попытки. Моделирующие программы помогают проектировщикам предсказать электрические характеристики и функциональное поведение кристалла без его фактического изготовления, позволяя обнаружить если не все, то подавляющее большинство недостатков до того, как кристалл будет сделан.

       Моделирующие программы используются также при разработке «программируемых логических устройств», с которыми мы познакомимся позднее, а также при проектировании больших схем, в которые входит много отдельных компонентов. В этом случае моделирование не столь существенно, поскольку разработчику легче провести замену компонентов или изменить разводку на печатной плате. Однако даже небольшое моделирование позволяет сэкономить время за счет обнаружения простых и глупых ошибок.

       Программные средства тестирования (test benches). Разработчики цифровых устройств научились формализовать моделирование и отладку схем в программных средах, получивших название программных или инструментальных средств тестирования. Идея состоит в том, чтобы собрать вокруг разрабатываемого проекта совокупность программ для автоматического контроля выполняемых схемой функций, а также для наблюдения за поведением схемы и определением ее временных характеристик. Это особенно полезно, когда в проекте производятся небольшие изменения; тогда можно запустить программу тестирования, чтобы убедиться в том, что обнаруженные ранее дефекты устранены, а «улучшения», произведенные в одном месте, ничего не нарушили ни в каком другом месте. Программы тестирования могут быть написаны на том же самом языке описания схем, на котором составлен проект, а также на С или C++ или на комбинации языков, включая языки описания сценариев типа языка PERL.

    Средства анализа и контроля временных соотношений. Описание временных параметров является важной составной частью проектирования цифровых устройств. Любой цифровой схеме необходимо время, чтобы выработать новое значение выходного сигнала в ответ на изменение на входе, и, проектировщик тратит много усилий, чтобы убедиться, что соответствующие изменения на выходе происходят достаточно быстро (или, в некоторых случаях, не слишком быстро). Специализированные программы позволяют автоматизировать скучную процедуру рисования временных диаграмм, а также определять и контролировать временные соотношения между различными сигналами в сложной системе.

   Текстовые редакторы. Наконец, давайте не забудем об обычных текстовых редакторах и о текстовых процессорах. Очевидно, что эти средства нужны для написания исходной программы проекта на языке описания схем, но не менее важной для каждого проекта является та роль, какую они играют при создании документации!

 

Помимо использования перечисленных программных средств, разработчики иногда пишут специализированные программы на языках высокого уровня, таких как С или C++, или составляют сценарии на языках типа PERL для решения частных проблем, относящихся к проектируемой системе. Например, в разделе 10.1.6 приведена пара программ на языке С, генерирующих «таблицы истинности» для комбинационных схем, реализующих сложные функции.

Хотя средства автоматизации проектирования и важны, умения ими пользоваться еще не достаточно, чтобы быть хорошим проектировщиком цифровых устройств. Вы же не считаете себя великим писателем только потому, что быстро нажимаете на клавиши и проворно управляетесь с текстовым редактором. Обучаясь проектированию цифровых устройств, постарайтесь овладеть всеми средствами, какие только будут вам доступны: графическими редакторами схем, средствами моделирования, компиляторами языков описания схем. Но помните, что само по себе изучение этих средств не гарантирует достижения заведомо хороших результатов. Пожалуйста, будьте внимательны по отношению к тому, что получается в результате использования этих средств.


Если Вы найдете какие либо опечатки, ошибки или подозрительные неточности то обязательно сообщите об этом администрацию сайта (Сделать это можно здесь)


[ Вернуться назад ]

ТОП 10
Файлы:

  1. Карманный справочник по электронике
  2. Цифровая схемотехника
  3. Азбука разработчика цифровых устройств
  4. sPlan или RusPlan v.6.0.0.1
  5. Основы теории цепей
  6. Основы языка VHDL
  7. Справочник по полупроводниковым приборам
  8. UNILOGIC - Логический анализатор для PC
  9. Справочник по расчету параметров катушек индуктивности
  10. Программирование однокристальных микропроцессоров



Новости:

  1. В 3D-принтере лазер заменили солнечным лучом
  2. Нановолокна упростят лечение рака
  3. Квантовый компьютер: IBM переходит к практике
  4. Конференции «Форум разработчиков цифровой электроники»
  5. Магнитогорские андроиды завоюют российский рынок
  6. Создана "глушилка" болтунов, теперь там где надо будет тихо
  7. Создан компактный ветрогенератор на пьезоэлементах
  8. Робот-гепард поставил рекорд скорости
  9. Механическая рука DARPA удивляет ловкостью
  10. Создан пульт дистанционного управления мозгом

Электроника это просто1
Copyright © electronic.com.ua 2007-2024